package com.yzxb.messystem.mapper;

import com.yzxb.messystem.entity.Product;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

/**
 * 产品Mapper接口
 * 使用MyBatis提供CRUD操作
 */
@Mapper
public interface ProductMapper {

    // 基础CRUD操作
    int insert(Product product);
    
    int updateById(Product product);
    
    int deleteById(Long id);
    
    Product selectById(Long id);
    
    List<Product> selectList(Product product);
    
    // 获取数据总数
    Long selectCount();

    // 根据产品代码查询产品
    Product findByProductCode(String productCode);
    
    // 根据产品名称模糊查询
    List<Product> findByProductNameContaining(String productName);
    
    // 根据分类查询产品
    List<Product> findByCategory(String category);
    
    // 检查产品代码是否存在
    int existsByProductCode(String productCode);
    
    // 根据产品代码删除产品
    int deleteByProductCode(String productCode);
}